// Prevents additional console window on Windows in release, DO NOT REMOVE!!
#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")]

mod commands;
mod types;

use commands::{
    json::format_json,
    case::{
        to_upper_case,
        to_lower_case,
        to_title_case
    },
    base64::{
        encode_base64,
        decode_base64
    },
    timestamp::{
        timestamp_to_datetime,
        datetime_to_timestamp
    },
    text_diff::compute_text_diff
};

fn main() {
    tauri::Builder::default()
        .invoke_handler(tauri::generate_handler![
            format_json,
            to_upper_case,
            to_lower_case,
            to_title_case,
            encode_base64,
            decode_base64,
            timestamp_to_datetime,
            datetime_to_timestamp,
            compute_text_diff
        ])
        .run(tauri::generate_context!())
        .expect("error while running tauri application");
}
